package com.imooc.miaosha.redis;

/**
 * 一个接口 一个抽象的实现类 实现方法和增加特殊方法  接口定义规范 具体实现类 实现抽象类  此模式 可称之为 模板模式
 */
public abstract class BasePrefix implements KeyPrefix{

	/**
	 * 设置过期时间 秒
	 */
	private int expireSeconds;
	
	private String prefix;
	
	public BasePrefix(String prefix) {//0代表永不过期
		this(0, prefix);
	}
	
	public BasePrefix( int expireSeconds, String prefix) {
		this.expireSeconds = expireSeconds;
		this.prefix = prefix;
	}
	
	public int expireSeconds() {//默认0代表永不过期
		return expireSeconds;
	}

	public String getPrefix() {
		//得到当前类的简单类名 拼接上 前缀字符串 为真实的 要存入 redis中的key
		String className = getClass().getSimpleName();
		return className+":" + prefix;
	}

}
